1. Field
Embodiments relate to a walking robot, balance of which is controlled using an ankle when the robot walks, and a method of controlling balance thereof.
2. Description of the Related Art
In general, research into a walking robot which has a joint structure similar to that of a human and coexists with the humans in a working and living space has been actively conducted. The walking robot includes a multilegged walking robot having multiple legs such as two legs or three legs. For stable walking, an actuator such as an electric motor or a hydraulic motor mounted in each joint is driven. Examples of a method of driving an actuator include a position-based Zero Moment Point (ZMP) control method of providing a command angle, that is, a command position, of each joint and controlling each joint to move according to the command angle, and a Finite State Machine (FSM) control method of providing command torque of each joint and controlling each joint to move according to the command torque.
In the ZMP control method, a walking direction, a stride width, a walking rate and the like are determined in advance so as to satisfy a ZMP constraint, that is, a condition in which a ZMP is present in a safe area (which corresponds to the area of one foot in the case where the robot is supported by one foot or corresponds to a small area which is set in consideration of safety in a convex polygon including the areas of two feet in the case where the robot is supported by two feet) of a stance polygon formed by stances of legs of the robot, the walking pattern of each leg corresponding to the determination is generated, and the walking trajectory of each leg is calculated according to the walking pattern. The angle of the joint of each leg is calculated by inverse Kinematic calculation of the calculated walking trajectory and a desired control value of each joint is calculated based on the current angle and the desired angle of each joint. Servo control is performed such that each leg moves along the calculated walking trajectory during every control time period. That is, determination as to whether the position of each leg accurately moves along the walking trajectory according to the walking pattern is performed. If each leg deviates from the walking trajectory, the torque of the motor is adjusted such that each leg accurately moves along the walking trajectory.
Since the ZMP control method is a position-based control method, accurate position control is possible. However, since accurate angle control of each joint is performed in order to control the ZMP, high servo gain is necessary. Therefore, since high current is necessary, energy efficiency is low and joint rigidity is high, thereby giving surroundings a big shock. Since Kinematic Singularity is avoided in order to calculate the angle of each joint, the robot always bends its knees while walking. Thus, the robot may unnaturally walk unlike a human.
In contrast, in the FSM control method, instead of the method of controlling the walking of the robot according to the position thereof at every control time, each operation state of the robot is defined in advance (Finite State), desired torque of each joint is calculated by referring to each operation state while walking, and walking is controlled according to the desired torque of each joint. Since the torque of each joint is controlled while walking, low servo gain is necessary, energy efficiency is high and joint rigidity is low, thereby providing safety to surroundings. In addition, since Kinematic Singularity does not need to be avoided, the robot may naturally walk in a state of stretching out its knees similar to a human.
However, in the FSM control method, since the walking of the robot is controlled according to the operation state defined in advance, walking control is inaccurate and thus the robot may lose balance. Accordingly, a separate balancing operation to ensure that the robot maintains balance is performed regardless of a walking operation. For a robot balancing operation, command torque to keep stable balance is obtained. In order to obtain command torque, a very complicated dynamic equation is solved. However, up to now, this method has not been implemented in a robot having legs having a joint structure with 6 degrees of freedom.